【読了】さわって学ぶクラウドインフラ Amazon Web Service 基礎からのネットワーク&サーバー構築 改訂版

【読了】さわって学ぶクラウドインフラ Amazon Web Service 基礎からのネットワーク&サーバー構築 改訂版

『さわって学ぶクラウドインフラ Amazon Web Service 基礎からのネットワーク&サーバー構築 改訂版』の感想と実際に使用したコマンドについて書きました。
Clock Icon2024.09.26

AWSを業務でさわり始めてもうすぐ4ヶ月になります。

同じ部署の人が、この本をお勧めしてくれて、そして、貸してくれました!!

インフラ周りの知識が無さすぎるんですが、そんな私でも理解しやすい内容でとても良かったです。感想と本とは違うコマンド使用した箇所をまとめておきたいと思います。

書籍

タイトル:さわって学ぶクラウドインフラ Amazon Web Service 基礎からのネットワーク&サーバー構築 改訂版
著者:大澤 文孝, 玉川 憲, 片山 暁雄, 今井 雄太
版数:第二版

(執筆時点での最新版は、第4版です。)

対象読者

インフラの知識もほとんどなく、AWSも勉強したい初心者の方向け。(のように感じました)

感想

もっと早く読めば良かったです。

基本情報や応用情報の資格勉強したときにIPアドレスのことも学習したのですが、あまりよくわからず、ふわっとした理解になっていました。
この書籍では、わかりやすくIPアドレスについて説明されていて全然インフラわからない状態でもスムーズに読み進められました。

何より、実践形式なのがとても良いです。
最初にざっくり説明してすぐにハンズオン形式に入り詳細に解説していくスタイルなので、
読むのが億劫になる暇なく自分でAWSをさわって進められました。

理解できるようになったこと

  • IPアドレス
  • サブネットなどの用語
  • 踏み台サーバーの使い方
  • プライベートサブネットとパブリックサブネット、それぞれの構築の方法と違い

実際に使用したコマンド

この改訂版が出たのは、2017年だったのでもう7年も経過していることもあり、コマンドが違う箇所がありました。
最新版ではなく古い版の書籍で勉強している人もいますよね。(いるはずだ)

なので、私の環境で動かなかった箇所を記載します。

  • PC環境

    • PC:MacBook Pro
    • チップ:Apple M3
    • メモリ:16 GB
  • AWS環境

    • EC2
      • AMI: Amazon Linux 2023 AMI

p.168 yumコマンドでインストールできない

Before

$ sudo yum -y install mysql-server
Amazon Linux 2023 repository                                                                  46 MB/s |  27 MB     00:00    
Amazon Linux 2023 Kernel Livepatch repository                                                 65 kB/s |  11 kB     00:00    
No match for argument: mysql-server

After

dnfコマンドを使用する方法にしました。

  1. 2023年のMySQLのGPGキーをインポート
$ sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023
  1. インポートしたキーを確認
$ rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n'
gpg-pubkey-d8XXXXXXX	Amazon Linux <amazon-linux@amazon.com> public key
gpg-pubkey-3aXXXXXXX	MySQL Release Engineering <mysql-build@oss.oracle.com> public key
gpg-pubkey-a8XXXX-XXXXX	MySQL Release Engineering <mysql-build@oss.oracle.com> public key
  1. dnfをアップデート
$ sudo dnf update
  1. MySQLをインストール
$ sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
$ sudo dnf install -y mysql-community-server
  1. MySQLを起動
$ sudo systemctl start mysqld
  1. ステータスを確認
$ sudo systemctl status mysqld

p.169 ユーザー作成と権限付与が同時にできない(MySQL8.x)

Before

書籍通りにやったら構文エラーになってしまいました。

mysql> grant all on wordpress.* to wordpress@"%" identified by 'XXXXX';
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'XXXXX'' at line 1

After

MySQL 8.0以降では、IDENTIFIED BY 句を使用した GRANT ステートメントの構文が使えなくなったらしいです。

通常、データベース管理者は最初に CREATE USER を使用してアカウントを作成し、その非権限特性 (パスワード、セキュアな接続を使用するかどうか、サーバーリソースへのアクセス制限など) を定義してから、GRANT を使用してその権限を定義します。 ALTER USER を使用して、既存のアカウントの非権限特性を変更できます。

引用元:13.7.1.6 GRANT ステートメント

  1. ユーザーを作成する
mysql> CREATE USER 'wordpress'@'%' IDENTIFIED BY 'XXXXX';
  1. 権限付与する
mysql> GRANT ALL ON wordpress.* TO 'wordpress'@'%';
  1. 権限を反映する
mysql> flush privileges;

p.171 sudo yum -y install php php-mysql php-mbstring が使えない

Before

このコマンドは、エラーになってインストールできなかったです。

$ sudo yum -y install php php-mysql php-mbstring
Last metadata expiration check: 1 day, 10:11:57 ago on Sun Sep 15 06:09:01 2024.
No match for argument: php-mysql
Error: Unable to find a match: php-mysql

After

php-mysqlnd でいけました。

sudo yum -y install php php-mysqlnd php-mbstring

最新のAmazon Linux 2やCentOS 8以降では、php-mysqlの代わりにphp-mysqlndを使用します。

参考:PHP 用 MySQL ネイティブ ドライバー - mysqlnd

最後に

薄めの本なので、サクッと読み終えられて技術本を読むモチベーションが上がりました!

1日くらいで終えられるボリュームだったので、まだ読んでない方は是非読んでみてください。

この記事をシェアする

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.